Prečo aplikácie vo Windows zaberajú príliš veľa RAM?
Zdroj: electron
3m čítanie

Prečo aplikácie vo Windows zaberajú príliš veľa RAM?

Náročnosť aplikácií spôsobuje najmä to, že ich vývojári zapuzdrujú do jadra Electron s Chromium.

Typicky sa to týka aplikácií ako Signal, ale aj Telegram či Discord, ak sú postavené na jadre Electron. Ide o technológiu, ktorá výrazne uľahčuje prácu vývojárom pre viacero operačných systémov. Dalo by sa povedať, že ide o prehliadač zabalený do desktopovej aplikácie. Na mnohých aplikáciách si to môžete všimnúť napríklad tak, že kontextové menu sa podobá tomu v prehliadači.

Jedna aplikácia pre všetky systémy

Samotná veľkosť by nemusela byť až taký problém, keďže dnes nie sú používatelia až takí citliví a majú veľké disky. Nevýhodou ale je, že každá takáto aplikácia zaberá stovky megabajtov operačnej pamäte.

Každou takouto aplikáciou spúšťate zároveň ohromný balík dát, vrátane samostatnej inštancie prehliadača na báze Chromium. K tomu treba pripočítať ešte knižnice Node.js runtime, ktorú potrebujete na spustenie aplikácií.

Vývojári majú o starosť menej, keďže stačí aplikáciu napísať raz a tento kód môžu zapuzdrený spustiť na Windows, macOS a Linuxe. Aplikácie vyvinuté natívne pre konkrétny operačný systém majú vlastný spustiteľný súbor. Ten využíva systémové knižnice, no univerzálne aplikácie zabalené do Electron využívajú rozhranie, ktoré si so sebou zapuzdrili.

Webové stránky ako aplikácie

Máme tu aplikácie pre webové rozhranie, desktopové počítače aj smartfóny. V praxi by to pre vývojárov znamenalo pracovať na 3 verziách nezávisle, no zjednotením ušetria významné množstvo času.

Výhodou je, že aplikácia pre smartfón môže poskytovať rovnaké funkcie ako plnohodnotná webová či desktopová aplikácia. Toto síce mohla aj v minulosti, no vývojárom by trvalo podstatne dlhšie programovať túto aplikáciu nezávisle.

Preto ju urobia raz a pribalia k nej všetky potrebné knižnice. Kedysi bola aplikácia pre počítač tá hlavná a pre smartfón sme videli jednoduchšiu verziu. Dnes to tak byť nemusí.

Github aplikácie

Keďže vývojári chcú svoj kód rozšíriť pre čo najviac používateľov, vytvárajú takéto univerzálne aplikácie. S nimi sa vo veľkom stretnete na GitHub a ich spustenie nie je otázka kliknutia na jeden súbor. Potrebujete si nainštalovať aj ďalšie doplnky. Väčšinou akýsi mechanizmus virtuálneho stroja (docker) a v ňom spúšťať konkrétnu aplikáciu.

Serverové aplikácie s tým nemajú problém, pretože správcovia nastavia toto rozhranie, aby aplikácia bežala všetkým používateľom, ktorí o ňu cez webovú stránku požiadajú. Ak ale máte inštalovať rôzne balíčky z repozitára GitHubu, je to pre bežného používateľa výrazné nepohodlie.

Výsledkom teda je, že aplikácia má niekoľko megabajtov, avšak na to, aby ste ju spustili, musíte stiahnuť do systému Electron, Node.js a iné. Potom má aplikácia stovky megabajtov.

Prečítajte si aj: